﻿
using Aspose.Words.Lists;
using Magicodes.ExporterAndImporter.Core;
using NP.BPMReportPlatform.Entities.BPM_Business;
using NP.BPMReportPlatform.Entities.BPM_Business.Cadre;
using System.Collections.Generic;

namespace NP.BPMReportPlatform.Cadre.Dto
{
    /// <summary>
    /// 干部转身输出实体
    /// </summary>
    public class GetCadreResultOutput : CadreEntity
    {
        /// <summary>
        /// 更新类型(-1:删除，1:编辑 2:修改导师)
        /// 上岗前沟通(5: 提交(提交审批) 6：暂存)
        /// 终止(20)
        /// </summary>
        public int? UpdateType { get; set; }

        /// <summary>
        /// 是否是HRBP
        /// </summary>
        public bool IsHRBP { get; set; }

        /// <summary>
        /// 是否是自己
        /// </summary>
        public bool IsMySelf { get; set; }

        /// <summary>
        /// 终止原因
        /// </summary>
        public string Reason { get; set; }
    }

    /// <summary>
    /// 导师辅导记录
    /// </summary>
    public class CadreTeacherRecordDto : CadreTeacherRecordEntity
    {
    }

    /// <summary>
    /// 转身述职总结记录
    /// </summary>
    public class CadreResultDto : CadreResultEntity
    {
    }


    public class CadreDetailDto
    {
        /// <summary>
        /// 干部主表信息
        /// </summary>
        public CadreEntity Cadre { get; set; }

        /// <summary>
        /// 转身计划信息
        /// </summary>
        public List<CadreProcessDetailEntity> CaderProcess { get; set; }

        /// <summary>
        /// 导师辅导记录
        /// </summary>
        public List<CadreTeacherRecordEntity> CadreTeacherRecord { get; set; }

        /// <summary>
        /// 述职总结
        /// </summary>
        public List<CadreResultEntity> CadreResult { get; set; }
    }

    /// <summary>
    /// 导出干部转身实体
    /// </summary>
    public class ExportCadreOutput
    {
        /// <summary>
        /// 工号
        /// </summary>
        [ExporterHeader("工号")]
        public string WorkNumber { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [ExporterHeader("姓名")]
        public string UserName { get; set; }

        /// <summary>
        /// 转身阶段
        /// </summary>
        [ExporterHeader("转身阶段")]
        public string StatusName { get; set; }

        /// <summary>
        /// 转身计划制定流程
        /// </summary>
        [ExporterHeader("转身计划制定流程")]
        public string PlanInstanceNumber { get; set; }

        /// <summary>
        /// 转身计划总结流程
        /// </summary>
        [ExporterHeader("转身计划总结流程")]
        public string ResultInstanceNumber { get; set; }

        /// <summary>
        /// 转身计划总结流程
        /// </summary>
        [ExporterHeader("转身计划总结流程(重启)")]
        public string RestartResultInstanceNumber { get; set; }

        /// <summary>
        /// 所属部门
        /// </summary>
        [ExporterHeader("所属部门")]
        public string OrganizationName { get; set; }

        /// <summary>
        /// 职位
        /// </summary>
        [ExporterHeader("职位")]
        public string ApplyerJob { get; set; }

        /// <summary>
        /// 职称
        /// </summary>
        [ExporterHeader("职称")]
        public string ApplyerTitle { get; set; }

        /// <summary>
        /// 助力开始日期
        /// </summary>
        [ExporterHeader("助力开始日期")]
        public string StartDate { get; set; }

        /// <summary>
        /// 助力期限(月)
        /// </summary>
        [ExporterHeader("助力期限(月)")]
        public string Month { get; set; }

        /// <summary>
        /// 助力结束日期
        /// </summary>
        [ExporterHeader("助力结束日期")]
        public string EndDate { get; set; }

        /// <summary>
        /// 导师
        /// </summary>
        [ExporterHeader("导师")]
        public string TeacherName { get; set; }

        /// <summary>
        /// 直接主管
        /// </summary>
        [ExporterHeader("直接主管")]
        public string LeaderName { get; set; }
    }
}
